Benjamin Otte [Mon, 26 Mar 2012 05:08:24 +0000 (07:08 +0200)]
styleproperty: Make _gtk_style_property_query() take a GValue
... and don't make it return a GtkCssValue. We want to use this for
compat with the old GValue APIs after all...
Benjamin Otte [Mon, 26 Mar 2012 04:46:29 +0000 (06:46 +0200)]
styleproperty: Make print_func take a GtkCssValue
Also, constify GtkCssValue getters, so we can pass a const GtkCssValue
to the print_func.
Benjamin Otte [Mon, 26 Mar 2012 04:13:57 +0000 (06:13 +0200)]
cssvalue: Make the structure vtable-based
Don't use real classes, just a vtable.
Benjamin Otte [Sat, 24 Mar 2012 06:02:59 +0000 (07:02 +0100)]
styleproperty: Add support for equal_func
Benjamin Otte [Sat, 24 Mar 2012 01:15:41 +0000 (02:15 +0100)]
stylecontext: Don't clear cache when only state changes
This takes more memory, but changes to backdrop or active state are
quite expensive otherwise.
Benjamin Otte [Sat, 24 Mar 2012 00:13:50 +0000 (01:13 +0100)]
cssmatcher: Use quarks for classes
Benjamin Otte [Fri, 23 Mar 2012 22:52:48 +0000 (23:52 +0100)]
styleproperty: Add a function to compare values for equality
and default to never compare them as equal.
Benjamin Otte [Fri, 23 Mar 2012 22:23:30 +0000 (23:23 +0100)]
cssvalue: Constify a bunch of APIs
Benjamin Otte [Fri, 23 Mar 2012 15:19:22 +0000 (16:19 +0100)]
cssvalue: Remove unused functions
Benjamin Otte [Fri, 23 Mar 2012 02:01:16 +0000 (03:01 +0100)]
stylecontext: Really queue style changes
Instead of instantly applying a new style, just mark the context as
invalid. Only apply the new style at layout time.
Benjamin Otte [Fri, 23 Mar 2012 00:52:38 +0000 (01:52 +0100)]
stylecontext: Optimize the common case of "style didn't change"
Benjamin Otte [Wed, 21 Mar 2012 08:37:09 +0000 (09:37 +0100)]
gtk: Make widget only invalidate widget positions
Instead of resetting them completely
Benjamin Otte [Tue, 20 Mar 2012 17:08:08 +0000 (18:08 +0100)]
window: Set parent context instead of just resetting style
Otherwise the inherit properties won't inherit properly.
Benjamin Otte [Tue, 20 Mar 2012 17:04:37 +0000 (18:04 +0100)]
widget: Replace reset_style() calls
... with finer grained _gtk_widget_invalidate_style_context() calls.
Benjamin Otte [Tue, 20 Mar 2012 15:04:13 +0000 (16:04 +0100)]
widget: Don't go via path when resetting style
Instead, invalidate the path when the style context changes. And
invalidate the style context directly.
Benjamin Otte [Tue, 20 Mar 2012 14:40:53 +0000 (15:40 +0100)]
widget: Add _gtk_widget_invalidate_style_context()
This is supposed to replace gtk_widget_reset_style().
Benjamin Otte [Tue, 20 Mar 2012 13:38:44 +0000 (14:38 +0100)]
widget: Merge function into only caller
Benjamin Otte [Sun, 18 Mar 2012 22:00:25 +0000 (23:00 +0100)]
widget: Clear broken widget path in constructor
... where it belongs instead of fiddling with it in get_path().
Benjamin Otte [Tue, 20 Mar 2012 02:44:26 +0000 (03:44 +0100)]
stylecontext: On failure, exit the loop, don't try again
Because we will fail again. And then we try again. And then we fail
again. Ad infinitum.
Benjamin Otte [Tue, 20 Mar 2012 02:35:36 +0000 (03:35 +0100)]
stylecontext: Invalidate when setting classes/state/regions
... and nobody has called style_context_save().
Benjamin Otte [Tue, 20 Mar 2012 02:21:10 +0000 (03:21 +0100)]
stylecontext: Use _gtk_style_context_queue_invalidate() on self
Benjamin Otte [Tue, 20 Mar 2012 02:15:26 +0000 (03:15 +0100)]
stylecontext: Introduce _gtk_style_context_queue_invalidate()
This is for only queueing invalidations instead of doing a full
invalidation cycle.
Benjamin Otte [Tue, 20 Mar 2012 01:06:00 +0000 (02:06 +0100)]
stylecontext: Keep track of children
Benjamin Otte [Mon, 19 Mar 2012 00:19:59 +0000 (01:19 +0100)]
widget: Don't set widget path on style context
Instead, make the style context use the widget's path. Saves a bunch of
memory.
Benjamin Otte [Sun, 18 Mar 2012 23:25:31 +0000 (00:25 +0100)]
stylecontext: Notify widget directly of changes
This way, we don't need to g_signal_connect(), which saves a bunch of
memory and performance.
Benjamin Otte [Sun, 18 Mar 2012 22:02:33 +0000 (23:02 +0100)]
stylecontext: Add setter for widget
... and actually set the widget on the style context. Note that this
function does not take a reference on the widget, which is a very good
reason to keep it private.
Benjamin Otte [Sun, 18 Mar 2012 15:13:09 +0000 (16:13 +0100)]
matcher: Add a superset matcher
This matcher always matches only on some relvant things and ignores the
rest. This allows you to match only on name and class, but ignore state
and parents/siblings for example.
Benjamin Otte [Sun, 18 Mar 2012 13:42:50 +0000 (14:42 +0100)]
matcher: Add a matcher that matches anything
Lesson learned: Adwaita uses all possible selector types and all of
those for parents, too. But so far no siblings.
Benjamin Otte [Sun, 18 Mar 2012 01:53:44 +0000 (02:53 +0100)]
reftests: Add a reftest for nth-child
Prime numbers are fun.
Benjamin Otte [Sun, 18 Mar 2012 01:19:41 +0000 (02:19 +0100)]
tests: Add a parsing test for nth-child()
Now that we support the an+b notation, make sure we really do.
Maybe my generating script went a bit overboard with the space
possibilities though...
Benjamin Otte [Sun, 18 Mar 2012 01:11:44 +0000 (02:11 +0100)]
selector: Rewrite position tracking
We now track the position as a (type,a,b) tuple where the numbers make
up the an + b formula from CSS3 nth-child.
Also, the get_sibling() and get_sibling_index() vfuncs were replaced by
a has_position() vfunc. This is mostly so that the matcher can always
return TRUE. And I need that for the everything matcher.
Benjamin Otte [Sat, 17 Mar 2012 20:09:51 +0000 (21:09 +0100)]
syleprovider: Add a vfunc to get the changes
This way we can check what changes are even interesting for our matcher.
Benjamin Otte [Sat, 17 Mar 2012 20:02:43 +0000 (21:02 +0100)]
selector: Rename selector class
It's a 'position' pseudoclass, not a 'region' pseudoclass.
Benjamin Otte [Sat, 17 Mar 2012 18:23:53 +0000 (19:23 +0100)]
css: Add selector change types
This allows querying selectors for which changes would change their
"matchingness".
Benjamin Otte [Sat, 17 Mar 2012 13:32:52 +0000 (14:32 +0100)]
matcher: Turn GtkCssMatcher into a union
That way, we can add more matchers as we need them.
Benjamin Otte [Sat, 17 Mar 2012 13:28:07 +0000 (14:28 +0100)]
matcher: Use a vtable
Now we can do lots of fancy matchers, yay!
Benjamin Otte [Sat, 17 Mar 2012 01:36:11 +0000 (02:36 +0100)]
css: Make the style provider take a matcher as an input argument
Benjamin Otte [Sat, 17 Mar 2012 01:17:23 +0000 (02:17 +0100)]
css: Add GtkCssMatcher
This is so we can later do matching with other things than
GtkWidgetPath.
In particular, this is a requirement for getting rid of GtkWidgetPath.
Benjamin Otte [Fri, 16 Mar 2012 04:14:41 +0000 (05:14 +0100)]
styleprovider: Add a custom object for a list of style providers
This way, we don't have to do magic inside GtkStyleContext, but have a
real API.
As a cute bonus, this object implements GtkStyleProvider itself. So we
can just pretend there's only one provider.
Benjamin Otte [Fri, 16 Mar 2012 02:35:13 +0000 (03:35 +0100)]
stylecontext: Stop querying style providers for icon factories
Nobody implements this feature and I don't wanna maintain it. If it
turns out somebody is using it, we gotta invent something.
Benjamin Otte [Fri, 16 Mar 2012 00:23:26 +0000 (01:23 +0100)]
gdk: Add deprecation/availability macros for 3.6
Mario Blättermann [Mon, 16 Apr 2012 19:42:14 +0000 (21:42 +0200)]
[l10n] Updated German translation
Kristian Høgsberg [Tue, 7 Feb 2012 14:08:48 +0000 (09:08 -0500)]
wayland: Prefer X11 backend over Wayland
https://bugzilla.gnome.org/show_bug.cgi?id=674102
Kalev Lember [Sat, 14 Apr 2012 18:30:26 +0000 (21:30 +0300)]
application-window: Move desktop file handling code to separate function
https://bugzilla.gnome.org/show_bug.cgi?id=674118
Rob Bradford [Mon, 16 Apr 2012 14:29:44 +0000 (15:29 +0100)]
build: Add an enable flag to allow enabling Cairo GL backend
This change adds --enable-wayland-cairo-gl which turns on the define used in
the Wayland backend to determine whether to use EGL surfaces with Cairo GL or
whether to use the Cairo image backend with an SHM surface (the default).
Part of the fix for: https://bugzilla.gnome.org/show_bug.cgi?id=672361
Rob Bradford [Thu, 12 Apr 2012 11:11:04 +0000 (12:11 +0100)]
wayland: Use an ARGB buffer for the Cairo and SHM surface
Rob Bradford [Thu, 19 Jan 2012 11:51:50 +0000 (11:51 +0000)]
wayland: Force an expose for the whole area when scrolling
Rob Bradford [Wed, 4 Apr 2012 16:20:13 +0000 (17:20 +0100)]
wayland: Add support for rendering into an SHM buffer with Cairo image backend
The first version of this change included a bug that meant that if you don't
compile for any other backend then it wouldn't search for cairo. Credit for
identifying the bug goes to darxus@chaosreigns.com.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=672361
Rob Bradford [Wed, 4 Apr 2012 13:05:57 +0000 (14:05 +0100)]
wayland: Move the buffer creation to the cairo surface creation
Rob Bradford [Wed, 4 Apr 2012 13:05:27 +0000 (14:05 +0100)]
wayland: Move the finalize function to allow a clear logical block of code
Rob Bradford [Wed, 4 Apr 2012 10:40:52 +0000 (11:40 +0100)]
wayland: Remove unused member from struct
ReÅŸat SABIQ [Mon, 16 Apr 2012 06:56:55 +0000 (01:56 -0500)]
Updated Crimean Tatar (Crimean Turkish) translation
ReÅŸat SABIQ [Mon, 16 Apr 2012 06:54:47 +0000 (01:54 -0500)]
Updated Crimean Tatar (Crimean Turkish) translation
Yinghua Wang [Mon, 16 Apr 2012 06:14:33 +0000 (14:14 +0800)]
update Simplified Chinese (zh_CN) translation
Michael Vogt [Mon, 16 Apr 2012 04:51:43 +0000 (06:51 +0200)]
GtkImage: Move g_clear_object() to gtk_image_finalize()
This moves the freeing of the icon_helper from the destory to the finalize
function to avoid segfaults when trying to access a destroyed object before it
is disposed. This often happens in signal handlers which get called
asynchronously after destroy.
https://bugzilla.gnome.org/show_bug.cgi?id=674050
Kjartan Maraas [Sun, 15 Apr 2012 17:38:20 +0000 (19:38 +0200)]
Updated Norwegian bokmål translation
Matthias Clasen [Sat, 14 Apr 2012 01:26:43 +0000 (21:26 -0400)]
Bump version
Matthias Clasen [Sat, 14 Apr 2012 01:08:06 +0000 (21:08 -0400)]
3.4.1
Cosimo Cecchi [Wed, 11 Apr 2012 14:24:04 +0000 (10:24 -0400)]
application-window: try to use the desktop name in the fallback menu
Try to fetch the name from the application desktop file for the
fallback menu if possible, instead of forcing applications to use
g_set_application_name or hardcoding "Application".
https://bugzilla.gnome.org/show_bug.cgi?id=673882
Cosimo Cecchi [Wed, 11 Apr 2012 14:22:57 +0000 (10:22 -0400)]
build: split out a HAVE_GIO_UNIX config variable
We'll use it in GtkApplicationWindow, since we need to conditionally
depend on gio-unix there.
https://bugzilla.gnome.org/show_bug.cgi?id=673882
Matthias Clasen [Fri, 13 Apr 2012 00:07:28 +0000 (20:07 -0400)]
Fix malformed doc comments
Most of these are forgotten :'s and similar details
which gtk-doc now warns about.
Kalev Lember [Wed, 11 Apr 2012 20:12:15 +0000 (23:12 +0300)]
configure: Use AM_PATH_GLIB_2_0() for finding glib-compile-resources
No need to manually set GLIB_COMPILE_RESOURCES when AM_PATH_GLIB_2_0()
does this for us.
Pavel Holejsovsky [Fri, 23 Mar 2012 06:09:02 +0000 (07:09 +0100)]
Fix sourcedir!=builddir .gir build from source tarball
Setting -I$(top_builddir) before -I$(top_srcdir) causes that
g-ir-scanner picks up boxing definitions generated by glib-mkenums.
https://bugzilla.gnome.org/show_bug.cgi?id=672133
Kristian Rietveld [Sun, 19 Feb 2012 15:08:26 +0000 (16:08 +0100)]
[quartz] Fix manual resizing of windows
In the Quartz backend, there are two methods by which windows are
resized. The first method is fully handled by Quartz and does not appear
in the event stream the application resizes. The second method is when
we resize windows by ourselves. In OS X this happens when a GTK+ resize
grip is used. This resize grip is larger than the Quartz resize grip.
When the resize is started outside the "Quartz area", we have to handle
it by ourselves.
This patch fixes this manual window resizing by ignoring events while we
are in the process of resizing (such that the events actually arrive at
the sendEvent handler of GdkQuartzWindow where this resize is handled).
When the resize has finished we break all grabs such that GDK is not
stuck thinking the cursor is still in the resize window.
Kristian Rietveld [Sun, 19 Feb 2012 15:02:09 +0000 (16:02 +0100)]
Export break_all_grabs() within Quartz backend
Function was renamed to _gdk_quartz_events_break_all_grabs().
Carles Ferrando [Tue, 10 Apr 2012 19:22:30 +0000 (21:22 +0200)]
[l10n]Updated Catalan (Valencian) translation
Jordi Serratosa [Tue, 10 Apr 2012 19:22:22 +0000 (21:22 +0200)]
[l10n] Fixes on Catalan translation
Carles Ferrando [Tue, 10 Apr 2012 19:21:06 +0000 (21:21 +0200)]
[l10n]Updated Catalan (Valencian) translation
Jordi Serratosa [Tue, 10 Apr 2012 19:20:55 +0000 (21:20 +0200)]
[l10n] Fixes on Catalan translation
Benjamin Otte [Tue, 10 Apr 2012 14:55:05 +0000 (16:55 +0200)]
styleproperty: 3rd hotfix for a 3-line patch
I really should not write code sometimes...
Copy/paste error this time.
Benjamin Otte [Tue, 10 Apr 2012 14:14:59 +0000 (16:14 +0200)]
Revert part of "textview: Remove extra magic for drawing children"
This partially reverts commit
df37446f9b4116887865b7ecfddeb535fbc0eacb.
The commit changed API that was public (or at least semi-public) and
it's not worth changing that.
The original bug should still be fixed.
https://bugzilla.gnome.org/show_bug.cgi?id=673839
Benjamin Otte [Mon, 9 Apr 2012 18:33:46 +0000 (20:33 +0200)]
styleproperty: Fix thinko
Introduced in
8243b16ad79cb4965ab5314e53a20ef16b2af9c3 - seems I wasn't
really on top of my own capabilities on Saturday.
Benjamin Otte [Mon, 9 Apr 2012 01:27:18 +0000 (03:27 +0200)]
Benjamin Otte [Sat, 7 Apr 2012 19:32:39 +0000 (21:32 +0200)]
styleproperty: Save some memory
Only create a new CssValue when we actually need one.
Benjamin Otte [Sat, 7 Apr 2012 15:24:50 +0000 (17:24 +0200)]
customproperty: Ensure style properties are registered
... before reigstering our own. Also, use that capability to emit a
warning.
Benjamin Otte [Mon, 9 Apr 2012 01:05:12 +0000 (03:05 +0200)]
csscustomproperty: Redo RGBA/Color parsing
This fixes custom parse functions returning RGBA values where we
expected symbolic colors.
Benjamin Otte [Mon, 9 Apr 2012 00:54:17 +0000 (02:54 +0200)]
tests: Add a uint8 test
... to ensure the last test works.
Benjamin Otte [Mon, 9 Apr 2012 00:51:07 +0000 (02:51 +0200)]
cssvalue: Re-add support for random value types
This got lost in the CssValue transition, and apparently some people use
this.
Pavel Holejsovsky [Fri, 23 Mar 2012 06:09:02 +0000 (07:09 +0100)]
entrycompletion: set_property() should call property setters
gtk_entry_completion_set_property() was setting many properties by
directly modifying priv values, bypassing notification invocation and
possibly another actions done by gtk_completion_entry_set_xxx ()
functions. Fix by invoking set_xxx() instead of setting the property
value directly.
The real bug observerd was that setting text-column property using
g_object_set() caused SIGFPE later when entry completion was about to
appear. gtk_entry_completion_set_text_column () apparently does way
more important things than just setting priv->text_column member.
https://bugzilla.gnome.org/show_bug.cgi?id=673693
Benjamin Otte [Tue, 3 Apr 2012 16:41:25 +0000 (18:41 +0200)]
textview: Remove extra magic for drawing children
Instead, just draw the children. The cairo code will keep track of
things, so there's no need to track things.
Also, the old code was doing it wrong.
https://bugzilla.gnome.org/show_bug.cgi?id=672544
Benjamin Otte [Sat, 31 Mar 2012 01:35:48 +0000 (03:35 +0200)]
csscomputedvalues: Unref old value when setting new one
Benjamin Otte [Mon, 2 Apr 2012 01:20:06 +0000 (03:20 +0200)]
docs: Add gtkx.h to the list of headers
Benjamin Otte [Thu, 29 Mar 2012 11:41:32 +0000 (13:41 +0200)]
treeview: Don't cache expander size
Style properties should not be cached, they should be queried live.
Also, this fixes the case where the expander size wasn't set when
constructing the widget which caused expanders to go missing.
Benjamin Otte [Sun, 18 Mar 2012 13:02:58 +0000 (14:02 +0100)]
widget: Create style context using regular API
Benjamin Otte [Tue, 20 Mar 2012 03:06:49 +0000 (04:06 +0100)]
menu: Undo a hack with style contexts
Widget implementations aren't allowed to fiddle with the widget's style
context.
Sheesh.
Benjamin Otte [Sat, 7 Apr 2012 10:56:39 +0000 (12:56 +0200)]
tray: Add suggested braces around empty body in 'if' statements
Benjamin Otte [Sat, 7 Apr 2012 10:55:30 +0000 (12:55 +0200)]
win32: Move variable declarations into #if block
Benjamin Otte [Sat, 7 Apr 2012 10:50:40 +0000 (12:50 +0200)]
x11: Add suggested braces around empty body in 'if' statements
Matthias Clasen [Sat, 7 Apr 2012 00:25:21 +0000 (20:25 -0400)]
Don't force BUTTON1_MASK on non-touch events
This problem was pointed out by Hans de Goede in
https://bugzilla.gnome.org/show_bug.cgi?id=673458
Matthias Clasen [Sat, 7 Apr 2012 00:00:35 +0000 (20:00 -0400)]
xi2: Remove touchscreen heuristics
It doesn't make sense to consider a device a touchscreen if it
doesn't have any touch classes. Even if it has 'touch' in its
name.
https://bugzilla.gnome.org/show_bug.cgi?id=673440
Chun-wei Fan [Fri, 6 Apr 2012 04:11:40 +0000 (12:11 +0800)]
Update libgail-util Visual C++ projects
Make the output .lib name more consistent with the GDK/GTK+ output .lib
naming.
Chun-wei Fan [Thu, 5 Apr 2012 16:24:34 +0000 (00:24 +0800)]
Update gdk-win32 Visual C++ projects
A new source file gdkdevice-virtual.c was added in commit
24f9ca92 for the
Win32 GDK backend, so add that file to the list of source files to compile.
Benjamin Otte [Thu, 5 Apr 2012 13:48:51 +0000 (15:48 +0200)]
gtk: Don't call gdk_window_process_updates() when scrolling
This can cause lagging when scrolling as it causes us to repaint
on every scroll event. This wasn't historically a great problem,
but with smooth scrolling we get a lot more events, so this
now creates visible lagging on slower machines.
ManojKumar Giri [Thu, 5 Apr 2012 11:38:19 +0000 (17:08 +0530)]
Updated Odia Translation
Benjamin Otte [Thu, 5 Apr 2012 09:30:41 +0000 (11:30 +0200)]
paned: Shrinkable widgets don't require a size
This could otherwise lead to very funny size request behaviors, in
particular in empathy.
https://bugzilla.gnome.org/show_bug.cgi?id=587441
Rui Matos [Wed, 4 Apr 2012 13:54:32 +0000 (15:54 +0200)]
x11: Don't ignore button releases after a wmspec move/resize
_gdk_x11_moveresize_configure_done() isn't called for wmspec
moves/resizes so we don't have a way to notice when a wmspec
move/resize ends and consequently untrigger the sending of
_NET_WM_MOVERESIZE_CANCEL which results in this message always being
sent on the next button release event. In that case we are marking
that event as handled so it isn't processed further which breaks
button press/release event handling in several widgets.
To fix this we simply allow the normal event handling machinery to run
after sending the _NET_WM_MOVERESIZE_CANCEL message.
https://bugzilla.gnome.org/show_bug.cgi?id=673328
Rui Matos [Wed, 4 Apr 2012 15:42:02 +0000 (17:42 +0200)]
configure.ac: Clean the ms-windows related stuff
Build fix and cleanup for the ms-windows engine removal.
Rui Matos [Sat, 31 Mar 2012 14:01:36 +0000 (16:01 +0200)]
x11: Set GdkToplevelX11.have_focused on creation
Since the order in which _NET_WM_STATE and _NET_WM_DESKTOP are set, or
even *if* they are set, isn't defined, we could end up unsetting
GDK_WINDOW_STATE_FOCUSED given that both handlers for these two X
properties end up doing window state changes for all states. As we
want GDK_WINDOW_STATE_FOCUSED to be set by default we need to set its
master flag by default as well.
https://bugzilla.gnome.org/show_bug.cgi?id=673125
Nelson Benitez Leon [Tue, 3 Apr 2012 15:33:15 +0000 (17:33 +0200)]
gtktreeview: don't handle extra mouse buttons
Don't handle mouse button events greater than 5 so
they can bubble up to be used by the application.
This was causing nautilus list view to not go forward
and backwards when pressing the extra mouse buttons
designated for that.
Fixes bug 673441
Signed-off-by: Nelson Benitez Leon <nbenitezl@gmail.com>
ManojKumar Giri [Wed, 4 Apr 2012 12:36:30 +0000 (18:06 +0530)]
Updated Odia Translation